package cn.xopencode.userservice.rpc.evaluate;

import cn.xopencode.common.framework.vo.CommonResult;
import cn.xopencode.common.framework.vo.PageResult;
import cn.xopencode.userservice.rpc.evaluate.dto.*;

import java.util.List;

/**
 * 员工自评
 *
 * @Author xiaodawei
 * @since 2021/9/22
 */
public interface EvaluateRpc {

    /**
     * 获取员工自评信息
     *
     * @param evaluateId 员工自评编号
     * @return 员工自评
     */
    CommonResult<EvaluateDTO> getEvaluate(String evaluateId);


    /**
     * 新建员工自评
     *
     * @param createEvaluateDTO 员工自评信息
     * @return 员工自评编号
     */
    CommonResult<String> createEvaluate(CreateEvaluateDTO createEvaluateDTO);

    /**
     * 员工自评列表分页查询
     *
     * @param evaluatePageDTO 查询条件
     * @return 用户列表
     */
    CommonResult<PageResult<EvaluateDTO>> findEvaluateList(EvaluatePageDTO evaluatePageDTO);


    /**
     * 批量更新员工自评信息
     *
     * @param updateEvaluateDTOList 员工自评信息
     */
    CommonResult<Integer> updateEvaluate(List<UpdateEvaluateDTO> updateEvaluateDTOList);

    /**
     * 批量更新员工自评属性
     *
     * @param updatePropertyDTOList 属性集合
     */
    CommonResult<Integer> updateProperty(List<UpdatePropertyDTO> updatePropertyDTOList);


}
